home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
compuserve-file-archive
/
08 System Utilities
/
JOIN.BIN
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
6KB
|
105 lines
10 POKE55,.:POKE56,63:CLR:DIMF$(10):Z$=CHR$(.):M$=CHR$(13):PRINT"[147][142]":GOTO800
20 GOTO2000
120 OPEN8,D,0,"$"
130 PRINT"[147][146][204][207][193][196][201][206][199] [196][201][211][203] [196][201][210][197][195][212][207][210][217]..."
140 SYS6505:IFPEEK(2)THEN160
150 PRINT"[147][142]NO FILES ON DISK":CLOSE15:CLOSE16:GOTO20
160 IFPEEK(829)ANDPEEK(831)THEN180
170 PRINT"[147][142]FEWER THAN TWO FILES IN QUEUE":CLOSE15:CLOSE16:GOTO20
180 PRINT:PRINT"[145][145][145][197]NTER FILENAME OF CONCATENATED FILE."
183 F$="":PRINT"";:INPUTF$:IFF$=""THEN940
185 SYS7134:PRINT"[145][145][145][198]ILE TYPE OF SEQ, PRG, OR USR (S/P/U)?"
186 GETA$:IFA$="S"THENT$=",W,S":PRINT"SEQ":GOTO190
187 IFA$="P"THENT$=",W,P":PRINT"PRG":GOTO190
188 IFA$="U"THENT$=",W,U":PRINT"USR":GOTO190
189 GOTO186
190 OPEN9,E,9,F$+T$
195 INPUT#16,A,B$,C,Z
197 IFA=63THENSYS7134:PRINT"";Q$;F$;Q$;" EXISTS[145]";:CLOSE9:GOTO180
200 IFA<20THENI=.:T=PEEK(150):GOTO207
205 SYS7134:GOSUB3000:GOTO190
207 POKE195,144:POKE196,5:Y=15:PRINT" [145]"
208 PRINT"[207][206][197] [205][207][205][197][206][212] [208][204][197][193][211][197]... ";
210 OPEN8,D,8,F$(I):GOSUB500
215 IFA>19THENPRINT"[147][142]":CLOSE8:CLOSE9:CLOSE15:CLOSE16:GOTO2000
220 SYS7240:IFPEEK(150)THENI=I+1:GOTO210
222 PRINT" ...[196][207][206][197]"
223 CLOSE16:CLOSE15:SYS07134:I=.:PRINT"[211]CRATCH ORIGINAL FILES (Y/N)?"
224 GETA$:IFA$="Y"THEN227
225 IFA$="N"THEN940
226 GOTO224
227 PRINT"[147]";
228 FORI=.TOT-1:OPEN15,D,15:PRINT"[211]CRATCHING ";Q$;F$(I);Q$
230 PRINT#15,"S0:";F$(I):CLOSE15:NEXT
240 GOTO940
500 INPUT#Y,A,B$,C,Z
510 IFA>19THENPRINT:PRINTA:PRINT:PRINTB$:PRINT:PRINTC,E:PRINT
520 RETURN
800 Q$=CHR$(34):PRINT"[212]HIS PROGRAM WILL LET YOU CONNECT UP TO"
805 PRINT"10 FILES TOGETHER. [197]ITHER ONE OR TWO"
810 PRINT"DRIVES MAY BE USED. [217]OU WILL HAVE THE"
815 PRINT"OPTION OF DELETING THE ORIGINAL FILES,"
820 PRINT"AND YOU ARE PROTECTED AGAINST TRYING TO"
825 PRINT"PRODUCE A CONCATENATED FILE THAT IS TOO"
830 PRINT"LARGE TO FIT ON THE DESTINATION DISK."
835 PRINT"[211]ELECT YOUR SOURCE AND DESTINATION"
837 PRINT"DEVICE NUMBERS (DRIVE 0 IS ASSUMED)."
838 PRINT"[217]OU WILL THEN GET A SCREEN THAT LETS YOU"
840 PRINT"STEP THROUGH THE DIRECTORY OF THE SOURCE"
845 PRINT" [208][210][197][211][211] [210][197][212][213][210][206][146]";
850 GETA$:IFA$=M$THEN860
855 GOTO850
860 PRINT"[147]DISK BY USING CURSOR RIGHT/LEFT."
862 PRINT"[211]ELECT THE FIRST FILE THAT YOU WANT IN"
865 PRINT"THE QUEUE AND PRESS [210][197][212][213][210][206]; THE FILENAME"
870 PRINT"WILL APPEAR IN THE WINDOW. [211]ELECT THE"
875 PRINT"NEXT FILE AND PRESS [210][197][212][213][210][206] AGAIN, AND SO"
880 PRINT"ON. [217]OU MAY DELETE THE LAST ENTRY BY"
885 PRINT"PRESSING ";Q$;"D";Q$;", AND YOU MAY CLEAR THE"
890 PRINT"QUEUE BY PRESSING ";Q$;"C";Q$;". [215]HEN YOU ARE"
895 PRINT"READY TO JOIN THE FILES TOGETHER, PRESS"
900 PRINTQ$;"J";Q$;". [212]O START OVER, PRESS ";Q$;"J";Q$;" WITH"
905 PRINT"FEWER THAN TWO FILES IN THE QUEUE."
910 PRINT" [[208]RESS [210][197][212][213][210][206] TO PROCEED]"
915 PRINT" [[208]RESS ";Q$;"X";Q$;" TO EXIT]";
920 GETA$:IFA$=M$THENPRINT"[147][142]":GOTO20
925 IFA$="X"THEN950
930 GOTO920
940 CLOSE15:CLOSE16
950 PRINT"[147][142]":POKE56,160:END
999 PRINT"[147]ILLEGAL DEVICE NUMBER":RETURN
2000 I$="ENTER DEVICE # OF ":O$="[157] NOT PRESENT"
2020 PRINTI$;"SOURCE DRIVE.":PRINT"(ENTER 0 TO EXIT.)"
2040 PRINT" 8[145]":INPUTD:IFD=.THEN950
2050 IFD<4ORD>30THENGOSUB999:GOTO2020
2060 POKE2,36:POKE184,8:POKE185,0:POKE186,D
2070 POKE183,1:POKE187,2:POKE188,.:SYS65472
2080 CLOSE8:IFPEEK(144)THENPRINT"[147]?DEVICE";D;O$:GOTO2020
2090 Y=15:OPENY,D,15:GOSUB500:IFA>19THENCLOSEY:GOTO2020
2210 PRINT"[147]"
2220 PRINTI$;"DESTINATION DRIVE.":PRINT"(ENTER 0 TO START OVER.)"
2230 PRINT" 8[145]":INPUTE:IFE=.THENCLOSE15:PRINT"[147][142]":GOTO2020
2240 IFE<4ORE>30THENGOSUB999:GOTO2220
2250 POKE251,36:POKE252,36:POKE184,9:POKE185,0:POKE186,E
2260 POKE183,2:POKE187,251:POKE188,.:SYS65472
2270 IFPEEK(144)THENPRINT"[147]?DEVICE";E;O$:CLOSE9:GOTO2220
2280 Y=16:OPENY,E,15:GOSUB500:IFA>19THENCLOSE9:CLOSEY:GOTO2220
2290 FORI=1TO6:GET#9,A$:NEXT
2300 GET#9,A$:IFA$<>""THEN2300
2320 GET#9,A$:GET#9,A$:GET#9,A$:POKE180,ASC(A$+Z$):GET#9,A$:POKE181,ASC(A$+Z$)
2330 CLOSE9:GOTO120
3000 PRINT"[145][145][145][201]NSERT ANOTHER DISK INTO DEVICE";E;"AND"
3005 PRINT"PRESS [210][197][212][213][210][206]."
3010 GETA$:IFA$<>M$THEN3010
3012 SYS7134
3015 POKE251,36:POKE252,36:POKE184,9:POKE185,0:POKE186,E
3020 POKE183,2:POKE187,251:POKE188,.:SYS65472:B$=""
3025 GET#16,A$:IFA$<>M$THENB$=B$+A$:GOTO3025
3027 IFASC(B$)<>48THENPRINTB$;"[145]":CLOSE9:GOTO3000
3030 FORI=1TO6:GET#9,A$:NEXT
3035 GET#9,A$:IFA$<>""THEN3035
3040 GET#9,A$:GET#9,A$:GET#9,A$:I=ASC(A$+Z$):GET#9,A$:J=ASC(A$+Z$)
3045 IFPEEK(176)+256*PEEK(177)<=I+256*JTHEN3055
3050 PRINT"[206][207][212] [197][206][207][213][199][200] [210][207][207][205] [207][206] [196][201][211][203][145]":CLOSE9:GOTO3000
3055 CLOSE9:RETURN